In a C-arm X-ray system, as shown schematically in FIG. 1, an X-ray source 10 projects energy through an object of interest 20, rotating about the object and creating a series of two-dimensional images on a detector 30. To reconstruct a three-dimensional model of an object 20 as detected by the X-ray source 10, the images are "back projected" (i.e., projected back) from the detector 30 into the three-dimensional space divided into voxels where the object 20 was located, at corresponding angles of rotation. In an idealized system, the detector 30 is fixed in space relative to the source 10 and therefore the only factors of interest are the angle of rotation and possible translational motion of the X-ray source 10.
In a practical implementation of the C-arm, the arm flexes as it rotates, is changing the relative position and orientation between the source and detector, as well as their position and orientation in space relative to the object of interest. To accurately reconstruct the images into a useful virtual three-dimensional model, compensation for such motion is required.